====== html() ======

''void **html**(string //Text//)''

Gibt im Fragebogen HTML-Code aus. Damit können Texte ausgegeben oder Bilder eingebunden werden. Sinnvoller ist der Einsatz aber für Layout-Konstruktionen ([[:de:create:table-layout|Elemente nebeneinander platzieren]]).

  * //Text//\\ Der HTML-Code, der im Fragebogen angezeigt werden soll.


===== HTML-Code einbinden =====

**Hinweis:** In aller Regel ist es sinnvoller, längeren HTML-Code als //Text// in einer Rubrik im **Fragenkatalog** anzulegen, und diesen dann an der gewünschten Stelle in den Fragebogen zu ziehen ([[:de:create:texts]]).

<code php>
html('<h1>Willkommen!</h1>');
html('
  <p>Zeilenumbrüche werden
  in der Ausgabe ignoriert.</p>
');
</code>


===== HTML-Code und andere Elemente =====

Andere Elemente -- insbesondere Fragen und Textbausteine -- erzeugen ebenfalls HTML-Code. Man kann mittels ''html()'' davor und danach weiteren HTML-Code einfügen. So kann man z.B. eine Frage in ein anderes HTML-Element kapseln, um die Breite zu verändern.

Der folgende PHP-Code zeigt die Frage AB01 zentriert in einem Block von maximal 600 Pixeln Breite an.

<code php>
html('<div style="max-width: 600px; margin: 0 auto;">');
question('AB01');
html('</div>');
</code>

Eine Anwendung dazu beschreibt die Anleitung [[:de:create:table-layout]].


===== Hinweise =====

**Tipp:** Verwenden Sie zum Einbinden von Texten, Bildern und längeren HTML-Codes besser Textbausteine. Diese werden unter **Textbausteine u. Beschriftung** erstelle und in den Fragebogen gezogen oder via ''[[:de:create:functions:text|text()]]'' in eine Fragebogen-Seite eingebunden. Dadurch bleibt der Fragebogen übersichtlicher, es stehen erweiterte Funktionen (z.B. mehrsprachige Fragebögen oder Platzhalter) zur Verfügung und man muss sich keine Sorgen um Anführungszeichen machen.

**Hinweis:** Die PHP-Funktionen ''echo'' und ''print()'' sind für die Verwendung im Fragebogen nicht freigegeben, weil deren Ausgabe nicht im, sondern über dem Fragebogen erscheinen würde. Verwenden Sie stattdessen die Funktion ''html()''.

**Hinweis:** Um in einem Text Anführungszeichen zu verwenden, die bereits als Textbegrenzer fungieren, müssen die Anführungszeichen durch einen Backslash (''\'') entwertet werden. Dann werden sie nicht mehr als Textbegrenzer erkannt und korrekt dargestellt.

<code php>
html('<p>Dieser HTML-Code beinhaltet "doppelte Anführungszeichen".</p>');
html("<p>Und &quot;dieser&quot; ebenfalls.</p>");
html('<p>So klappt\'s mit einfachen Anführungszeichen</p>');
</code>

<code php>
html('<h1>Hallo Welt!</h1>');  // Einfache Anführungszeichen
html("<h1>Hallo Welt!</h1>");  // Doppelte Anführungszeichen
html('<h1>Hallo "Welt"</h1>');           // Richtig
html("<h1>Hallo &quot;Welt&quot;</h1>"); // Noch richtiger
html("<h1>Hallo "Welt"</h1>"); // FALSCH, weil der String durch doppelte
                               // Anführungszeichen markiert wird und
                               // doppelte Anführungszeichen darin vorkommen.
// Verteilen des Strings aus mehrere Zeilen - oft sinnvoll
// Aber meistens ist hier text() noch viel sinnvoller
html('
  <h1>Hallo Welt!</h1>
  <p>Wie geht es dir, Welt?</p>
');
</code>